package etools

import (
	log "git.edaijia-inc.cn/edaijia/ego/elogger"
	"io/ioutil"
	"net/http"
	"strings"
)
// @title http get请求
// @description 发起一次get请求
// @author lianpenglin
// @param url string
// @return string
func HttpGet(url string) string {
	resp, err := http.Get(url)
	if err != nil {
		log.Errorf("http请求错误,url:%s,error:%s",url,err.Error())
		return ""
	}
	defer resp.Body.Close()
	body, errRead := ioutil.ReadAll(resp.Body)
	if errRead != nil {
		log.Errorf("http请求错误,url:%s,error:%s",url,errRead.Error())
		return ""
	}
	return string(body)
}
// @title http post请求
// @description 发起一次post请求
// @author lianpenglin
// @param url string 请求地址
// @param params string 请求参数 格式xxx=xxx&yyy=yyy
// @param header map 请求头参数
// @return string
func HttpPost(url,params string,header map[string]string) string {
	client := &http.Client{}
	request, errNew := http.NewRequest("POST", url, strings.NewReader(params))
	if errNew != nil {
		log.Errorf("http请求错误,url:%s,error:%s,params:%s",url, errNew.Error(),params)
		return ""
	}
	if len(header) > 0 {
		for k,v := range header {
			request.Header.Set(k,v)
		}
	}
	resp, errDo := client.Do(request)
	if errDo != nil {
		log.Errorf("http请求错误,url:%s,error:%s,params:%s",url,errDo.Error(),params)
		return ""
	}
	defer resp.Body.Close()
	body, errRead := ioutil.ReadAll(resp.Body)
	if errRead != nil {
		log.Errorf("http请求错误,url:%s,error:%s,params:%s",url,errRead.Error(),params)
		return ""
	}
	return string(body)
}


